package com.seguriapp.dao;

import java.util.List;

import com.seguriapp.base.GenericDao;
import com.seguriapp.entities.User;

/**
 * Data access object for {@link User} entities.
 * 
 * @author Tania Gonzales (taniadgv@gmail.com)
 */
public interface UserDao extends GenericDao<User> {

  User getUserInitialData(User user);

  long getUsersTotalPages(int pageSize);

  List<User> listUsersOrderByColumn(int page, int pageSize, boolean ascending, String columnSort);

  boolean isValidUserName(String username);

  List<Long> getUserEntities(Long userId);

  boolean isUserAdmin(Long userId);

}
